package com.xt.purchasingsystem.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 产品档案类
 */
public class DFile implements Serializable {
    //序号
    private Integer id;
    //产品编号
    private String productId;
    //产品名称
    private String productName;
    //制造商
    private String factoryName;
    //产品I级分类编号
    private String firstKindId;
    //产品I级分类名称
    private String firstKindName;
    //产品II级分类编号
    private String secondKindId;
    //产品II级分类名称
    private String secondKindName;
    //产品III级分类编号
    private String thirdKindId;
    //产品III级分类名称
    private String thirdKindName;
    //产品简称
    private String productNick;
    //用途类型
    //Y001-1: 商品
    //Y001-2: 物料
    private String type;
    //档次级别
    //D001-1: 高档
    //D001-2: 中档
    //D001-3: 低档
    private String productClass;
    //计量单位
    private String personalUnit;
    //计量值
    private String personalValue;
    //供应商集合
    private String providerGroup;
    //保修期
    private String warranty;
    //替代品名称
    private String twinName;
    //替代品编号
    private String twinId;
    //生命周期
    private String lifecycle;
    //市场单价
    private BigDecimal listPrice;
    //计划成本单价
    private BigDecimal costPrice;
    //成本单价
    private BigDecimal realCostPrice;
    //单位
    private String amountUnit;
    //产品描述
    private String productDescribe;
    //产品经理
    private String responsiblePerson;
    //登记人
    private String register;
    //建档时间
    private Date registerTime;
    //复核人
    private String checker;
    //复核时间
    private Date checkTime;
    //审核标志
    //S001-0: 等待审核
    //S001-1: 审核通过
    //S001-2: 审核不通过
    private String checkTag;
    //变更人
    private String changer;
//变更时间
    private Date changeTime;

    private String changeTag;

    private String priceChangeTag;

    private BigDecimal fileChangeAmount;

    private String deleteTag;

    private String designModuleTag;

    private String designProcedureTag;

    private String designCellTag;

    public DFile(Integer id, String productId, String productName, String factoryName,
                 String firstKindId, String firstKindName, String secondKindId,
                 String secondKindName, String thirdKindId, String thirdKindName,
                 String productNick, String type, String productClass, String personalUnit,
                 String personalValue, String providerGroup, String warranty, String twinName,
                 String twinId, String lifecycle, BigDecimal listPrice, BigDecimal costPrice,
                 BigDecimal realCostPrice, String amountUnit, String productDescribe,
                 String responsiblePerson, String register, Date registerTime, String checker,
                 Date checkTime, String checkTag, String changer, Date changeTime,
                 String changeTag, String priceChangeTag, BigDecimal fileChangeAmount,
                 String deleteTag, String designModuleTag, String designProcedureTag,
                 String designCellTag) {
        this.id = id;
        this.productId = productId;
        this.productName = productName;
        this.factoryName = factoryName;
        this.firstKindId = firstKindId;
        this.firstKindName = firstKindName;
        this.secondKindId = secondKindId;
        this.secondKindName = secondKindName;
        this.thirdKindId = thirdKindId;
        this.thirdKindName = thirdKindName;
        this.productNick = productNick;
        this.type = type;
        this.productClass = productClass;
        this.personalUnit = personalUnit;
        this.personalValue = personalValue;
        this.providerGroup = providerGroup;
        this.warranty = warranty;
        this.twinName = twinName;
        this.twinId = twinId;
        this.lifecycle = lifecycle;
        this.listPrice = listPrice;
        this.costPrice = costPrice;
        this.realCostPrice = realCostPrice;
        this.amountUnit = amountUnit;
        this.productDescribe = productDescribe;
        this.responsiblePerson = responsiblePerson;
        this.register = register;
        this.registerTime = registerTime;
        this.checker = checker;
        this.checkTime = checkTime;
        this.checkTag = checkTag;
        this.changer = changer;
        this.changeTime = changeTime;
        this.changeTag = changeTag;
        this.priceChangeTag = priceChangeTag;
        this.fileChangeAmount = fileChangeAmount;
        this.deleteTag = deleteTag;
        this.designModuleTag = designModuleTag;
        this.designProcedureTag = designProcedureTag;
        this.designCellTag = designCellTag;
    }

    public DFile() {
        super();
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId == null ? null : productId.trim();
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName == null ? null : productName.trim();
    }

    public String getFactoryName() {
        return factoryName;
    }

    public void setFactoryName(String factoryName) {
        this.factoryName = factoryName == null ? null : factoryName.trim();
    }

    public String getFirstKindId() {
        return firstKindId;
    }

    public void setFirstKindId(String firstKindId) {
        this.firstKindId = firstKindId == null ? null : firstKindId.trim();
    }

    public String getFirstKindName() {
        return firstKindName;
    }

    public void setFirstKindName(String firstKindName) {
        this.firstKindName = firstKindName == null ? null : firstKindName.trim();
    }

    public String getSecondKindId() {
        return secondKindId;
    }

    public void setSecondKindId(String secondKindId) {
        this.secondKindId = secondKindId == null ? null : secondKindId.trim();
    }

    public String getSecondKindName() {
        return secondKindName;
    }

    public void setSecondKindName(String secondKindName) {
        this.secondKindName = secondKindName == null ? null : secondKindName.trim();
    }

    public String getThirdKindId() {
        return thirdKindId;
    }

    public void setThirdKindId(String thirdKindId) {
        this.thirdKindId = thirdKindId == null ? null : thirdKindId.trim();
    }

    public String getThirdKindName() {
        return thirdKindName;
    }

    public void setThirdKindName(String thirdKindName) {
        this.thirdKindName = thirdKindName == null ? null : thirdKindName.trim();
    }

    public String getProductNick() {
        return productNick;
    }

    public void setProductNick(String productNick) {
        this.productNick = productNick == null ? null : productNick.trim();
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    public String getProductClass() {
        return productClass;
    }

    public void setProductClass(String productClass) {
        this.productClass = productClass == null ? null : productClass.trim();
    }

    public String getPersonalUnit() {
        return personalUnit;
    }

    public void setPersonalUnit(String personalUnit) {
        this.personalUnit = personalUnit == null ? null : personalUnit.trim();
    }

    public String getPersonalValue() {
        return personalValue;
    }

    public void setPersonalValue(String personalValue) {
        this.personalValue = personalValue == null ? null : personalValue.trim();
    }

    public String getProviderGroup() {
        return providerGroup;
    }

    public void setProviderGroup(String providerGroup) {
        this.providerGroup = providerGroup == null ? null : providerGroup.trim();
    }

    public String getWarranty() {
        return warranty;
    }

    public void setWarranty(String warranty) {
        this.warranty = warranty == null ? null : warranty.trim();
    }

    public String getTwinName() {
        return twinName;
    }

    public void setTwinName(String twinName) {
        this.twinName = twinName == null ? null : twinName.trim();
    }

    public String getTwinId() {
        return twinId;
    }

    public void setTwinId(String twinId) {
        this.twinId = twinId == null ? null : twinId.trim();
    }

    public String getLifecycle() {
        return lifecycle;
    }

    public void setLifecycle(String lifecycle) {
        this.lifecycle = lifecycle == null ? null : lifecycle.trim();
    }

    public BigDecimal getListPrice() {
        return listPrice;
    }

    public void setListPrice(BigDecimal listPrice) {
        this.listPrice = listPrice;
    }

    public BigDecimal getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    public BigDecimal getRealCostPrice() {
        return realCostPrice;
    }

    public void setRealCostPrice(BigDecimal realCostPrice) {
        this.realCostPrice = realCostPrice;
    }

    public String getAmountUnit() {
        return amountUnit;
    }

    public void setAmountUnit(String amountUnit) {
        this.amountUnit = amountUnit == null ? null : amountUnit.trim();
    }

    public String getProductDescribe() {
        return productDescribe;
    }

    public void setProductDescribe(String productDescribe) {
        this.productDescribe = productDescribe == null ? null : productDescribe.trim();
    }

    public String getResponsiblePerson() {
        return responsiblePerson;
    }

    public void setResponsiblePerson(String responsiblePerson) {
        this.responsiblePerson = responsiblePerson == null ? null : responsiblePerson.trim();
    }

    public String getRegister() {
        return register;
    }

    public void setRegister(String register) {
        this.register = register == null ? null : register.trim();
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker == null ? null : checker.trim();
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public String getCheckTag() {
        return checkTag;
    }

    public void setCheckTag(String checkTag) {
        this.checkTag = checkTag == null ? null : checkTag.trim();
    }

    public String getChanger() {
        return changer;
    }

    public void setChanger(String changer) {
        this.changer = changer == null ? null : changer.trim();
    }

    public Date getChangeTime() {
        return changeTime;
    }

    public void setChangeTime(Date changeTime) {
        this.changeTime = changeTime;
    }

    public String getChangeTag() {
        return changeTag;
    }

    public void setChangeTag(String changeTag) {
        this.changeTag = changeTag == null ? null : changeTag.trim();
    }

    public String getPriceChangeTag() {
        return priceChangeTag;
    }

    public void setPriceChangeTag(String priceChangeTag) {
        this.priceChangeTag = priceChangeTag == null ? null : priceChangeTag.trim();
    }

    public BigDecimal getFileChangeAmount() {
        return fileChangeAmount;
    }

    public void setFileChangeAmount(BigDecimal fileChangeAmount) {
        this.fileChangeAmount = fileChangeAmount;
    }

    public String getDeleteTag() {
        return deleteTag;
    }

    public void setDeleteTag(String deleteTag) {
        this.deleteTag = deleteTag == null ? null : deleteTag.trim();
    }

    public String getDesignModuleTag() {
        return designModuleTag;
    }

    public void setDesignModuleTag(String designModuleTag) {
        this.designModuleTag = designModuleTag == null ? null : designModuleTag.trim();
    }

    public String getDesignProcedureTag() {
        return designProcedureTag;
    }

    public void setDesignProcedureTag(String designProcedureTag) {
        this.designProcedureTag = designProcedureTag == null ? null : designProcedureTag.trim();
    }

    public String getDesignCellTag() {
        return designCellTag;
    }

    public void setDesignCellTag(String designCellTag) {
        this.designCellTag = designCellTag == null ? null : designCellTag.trim();
    }


    @Override
    public String toString() {
        return "DFile{" +
                "id=" + id +
                ", productId='" + productId + '\'' +
                ", productName='" + productName + '\'' +
                ", factoryName='" + factoryName + '\'' +
                ", firstKindId='" + firstKindId + '\'' +
                ", firstKindName='" + firstKindName + '\'' +
                ", secondKindId='" + secondKindId + '\'' +
                ", secondKindName='" + secondKindName + '\'' +
                ", thirdKindId='" + thirdKindId + '\'' +
                ", thirdKindName='" + thirdKindName + '\'' +
                ", productNick='" + productNick + '\'' +
                ", type='" + type + '\'' +
                ", productClass='" + productClass + '\'' +
                ", personalUnit='" + personalUnit + '\'' +
                ", personalValue='" + personalValue + '\'' +
                ", providerGroup='" + providerGroup + '\'' +
                ", warranty='" + warranty + '\'' +
                ", twinName='" + twinName + '\'' +
                ", twinId='" + twinId + '\'' +
                ", lifecycle='" + lifecycle + '\'' +
                ", listPrice=" + listPrice +
                ", costPrice=" + costPrice +
                ", realCostPrice=" + realCostPrice +
                ", amountUnit='" + amountUnit + '\'' +
                ", productDescribe='" + productDescribe + '\'' +
                ", responsiblePerson='" + responsiblePerson + '\'' +
                ", register='" + register + '\'' +
                ", registerTime=" + registerTime +
                ", checker='" + checker + '\'' +
                ", checkTime=" + checkTime +
                ", checkTag='" + checkTag + '\'' +
                ", changer='" + changer + '\'' +
                ", changeTime=" + changeTime +
                ", changeTag='" + changeTag + '\'' +
                ", priceChangeTag='" + priceChangeTag + '\'' +
                ", fileChangeAmount=" + fileChangeAmount +
                ", deleteTag='" + deleteTag + '\'' +
                ", designModuleTag='" + designModuleTag + '\'' +
                ", designProcedureTag='" + designProcedureTag + '\'' +
                ", designCellTag='" + designCellTag + '\'' +
                '}';
    }
}